Add support for TCP sockets.
authorJuanma Barranquero <lekktu@gmail.com>
Tue, 31 Oct 2006 00:21:19 +0000 (00:21 +0000)
committerJuanma Barranquero <lekktu@gmail.com>
Tue, 31 Oct 2006 00:21:19 +0000 (00:21 +0000)
commitaa0b6932977826d7effb3e4509cf70fee33670bc
tree7443dfcdd89e55f949247e924587b87930c93b30
parentd20f2a6a3dfefb17110f5ac5ab95bf4809f5262b
Add support for TCP sockets.
(SEND_STRING, SEND_QUOTED, HSOCKET, CLOSE_SOCKET, IOCTL, INITIALIZE): New
macros.
(IOCTL_BOOL_ARG): New typedef.
(server_file): New global variable.
(longopts): New option --server-file.
(decode_options): Process new option --server-file and environment variable
EMACS_SERVER_FILE.
(print_help_and_exit): Document new option.
(fail): If no connection available and no alternate editor, suggest using
options to make them explicit.
(AUTH_KEY_LENGTH, SEND_BUFFER_SIZE): New constants.
(send_buffer, sblen): New variables.
(send_to_emacs): New function to buffer output and send it with send().
(quote_file_name): Use SEND_STRING.
(close_winsock, initialize_sockets): New functions to load and unload Winsock.
(get_server_config, set_tcp_socket): New functions to create and set up TCP
sockets.
(set_local_socket): New function to create and set up Unix socket (code moved
from previous implementation).
(set_socket): New function to chose between TCP and Unix sockets.
(main): Use SEND_STRING and SEND_QUOTED.  Most code moved to set_local_socket.
Use set_socket.  Get answers from server.el with recv(), not file stream
functions.
lib-src/emacsclient.c